# 5.2.8 布尔表达式
# 随着对编程的了解越来月深入，你将遇到术语 布尔表达式
# 他不过是条件测试的别名
# 与条件表达式一样，布尔表达式的结果要么为true 要么为 False

game_active = True
can_edit = False

# 动手试一试
# 练习5.1 条件测试 编写一系列条件测试，将每个条件测试以及你对其结果的预测和实际结果都打印出来

car = 'subaru'
print("Is car == 'subaru'? I predict True.")
print(car == 'subaru')

print("\nIs car == 'audi'? I predict False.")
print(car == 'audi')
print("\n")

# 练习5.2 更多条件测试

# 检查两个字符串是否想的和不相等
fruit = 'apple'
print(fruit == 'apple')
print(fruit == 'banana')
print("\n")

#使用lower() 方法的条件测试
animal = 'Monkey'
print(animal == 'monkey')
print(animal.lower() == 'monkey')

# 涉及相等、不等、大于、小于、大于等于和小于等于的比较
n = 3
m = 5
print(n == m)
print(n != m)
print(n > m)
print(n < m)
print(n >= m)
print(n <= m)

# 使用关键字 and 和 or 的 条件测试

n = 3
m = 5
print((n != m) and (n < m)) #Ture
print((n != m) or (n >m))   #Ture
print((n == m) and (n < m)) #False
print((n == m) or (n < m))  #Ture

# 测试特定的值是否在列表中—— 使用关键字 in
fruits = {'apple', 'banana', 'cherry', 'date'}
if 'berry' in fruits:
    print("Yes!")
else:
    print("No!")

print('berry' in fruits) # False

print('berry' not in fruits) # Ture

###------- 5.3 if 语句
# 理解条件测试之后，就可以开始编写 if 语句了
# if 语句有很多种，选择使用哪一种取决于要测试的条件数

# 5.1 简单的if语句
# 最简单的if语句只有一个条件和一个操作
# if conditional_test:
#     do something

# 第一行包含任意测试条件，而紧跟在测试后面的缩进代码块中，可执行任意操作
# 如果条件测试的结果为 True ，Python就会执行紧跟在if 语句后面的代码，否则将忽略这些代码

# 举个例子
print("简单的if语句")
age = 19
if age >= 18:
    print("您已经成年了！")

# 在if语句中，缩进的作用和 for 循环中一样，如果条件测试通过了，将执行if 语句后面所有缩进的代码行

# 5.2 if——else 语句
# 5.3 if——elif——else 语句

# 举个小栗子——根据年龄收费的游乐场
age = 12
if age < 4:
    print("your admission cost id $0.")
elif age <18:
    print("your admission cost is $25.")
else:
    print("your admission cost is $40.")

### 代码优化：

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 25
else:
    price = 40

# print("your admission cost is $"+price) 这种写法为什么不行了？

print(f"your admission cost is ${price}")

# 5.3.4 使用多个elif 代码块

# 还可以根据需要使用任意数量的elif代码块
# if-elif-elif-elif......-elif-else

# 5.3.5 省略else代码块
# Python并不要求if-else结构后面必须要有else代码块
# 在一些情况下else很有用，而在其他情况下，仅使用一条elif语句来处理特定的情形更清晰

age = 12
if age < 4:
    price = 0
elif age < 18:
    price = 25
elif age < 65:
    price = 40
elif age >= 65:
    price = 20

print(f"your admission cost is ${price}")

# 5.3.6 测试多个条件
# if-elif-else 语句虽然功能强大，但适用于只有一个条件满足的情况
# 在遇到通过了的条件测试之后，Python就会跳过余下的条件测试—————— 即只会执行 if elif else 这三个中的一条
# 这种行为效率很高
# 然而有时候必须检查你关心的所有条件。这种情况下，应使用一些列不包含elif和else代码块的简单if语句
# 在可能有多个条件为 True，且需要在每个条件都为True 时采取相应的措施时，适合这种方法

























































































































